package com.shop.cereshop.app.tencent.im.model.redpacket;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @description: 发送红包请求参数
 * @author zdd
 * @date 2025/9/3 14:36
 * @version 1.0
 */
@ApiModel("发送红包请求参数")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SendRedPacketParam implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("红包单号")
    @NotBlank(message = "orderId不能为空")
    private String orderId;

    @ApiModelProperty("支付方式 (1:微信 2:支付宝 3:钱包余额 4:银行卡)")
    @NotNull(message = "payMethod不能为空")
    @Min(value = 1, message = "payMethod不能小于1")
    @Max(value = 4, message = "payMethod不能大于4")
    private Integer payMethod;

//    @ApiModelProperty(value = "加密后的支付密码", required = true, example = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...", notes = "使用RSA公钥加密的6位数字支付密码，默认值：无")
//    @NotNull(message = "payPassword不能为空")
//    private String payPassword;

    @JsonIgnore
    private String ipAddress;

    @ApiModelProperty("发送者头像")
    private String senderHeadImage;

}
